home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / cmds.fmt / diff.man < prev    next >
Text File  |  1991-03-08  |  8KB  |  265 lines

  1.  
  2.  
  3.  
  4. DIFF                      User Commands                      DIFF
  5.  
  6.  
  7.  
  8. NNAAMMEE
  9.      diff - differential file and directory comparator
  10.  
  11. SSYYNNOOPPSSIISS
  12.      ddiiffff [ --ll ] [ --rr ] [ --ss ] [ --cceeffhhnn ] [ --bbiiwwtt ] dir1 dir2
  13.      ddiiffff [ --cceeffhhnn ]] [[ --bbiiwwtt ] file1 file2
  14.      ddiiffff [ --DD_s_t_r_i_n_g ] [ --bbiiww ] file1 file2
  15.  
  16. DDEESSCCRRIIPPTTIIOONN
  17.      If both arguments are directories, _d_i_f_f sorts the contents
  18.      of the directories by name, and then runs the regular file
  19.      _d_i_f_f algorithm (described below) on text files which are
  20.      different.  Binary files which differ and files which appear
  21.      in only one directory are listed.  Options when comparing
  22.      directories are:
  23.  
  24.      --ll   long output format; each text file _d_i_f_f is piped
  25.           through _p_r(1) to paginate it, other differences are
  26.           remembered and summarized after all text file differ-
  27.           ences are reported.
  28.  
  29.      --rr   causes application of _d_i_f_f recursively to common sub-
  30.           directories encountered.
  31.  
  32.      --ss   causes _d_i_f_f to report files which are the same, which
  33.           are otherwise not mentioned.
  34.  
  35.      --SSnnaammee
  36.           starts a directory _d_i_f_f in the middle beginning with
  37.           file _n_a_m_e.
  38.  
  39.      When run on regular files, and when comparing text files
  40.      which differ during directory comparison, _d_i_f_f tells what
  41.      lines must be changed in the files to bring them into agree-
  42.      ment.  Except in rare circumstances, _d_i_f_f finds a smallest
  43.      sufficient set of file differences.  If neither _f_i_l_e_1 nor
  44.      _f_i_l_e_2 is a directory, then either may be given as `-', in
  45.      which case the standard input is used.  If _f_i_l_e_1 is a direc-
  46.      tory, then a file in that directory whose file-name is the
  47.      same as the file-name of _f_i_l_e_2 is used (and vice versa).
  48.  
  49.      There are several options for output format; the default
  50.      output format contains lines of these forms:
  51.  
  52.           _n_1 a _n_3,_n_4
  53.           _n_1,_n_2 d _n_3
  54.           _n_1,_n_2 c _n_3,_n_4
  55.  
  56.      These lines resemble _e_d commands to convert _f_i_l_e_1 into
  57.      _f_i_l_e_2.  The numbers after the letters pertain to _f_i_l_e_2.  In
  58.      fact, by exchanging `a' for `d' and reading backward one may
  59.      ascertain equally how to convert _f_i_l_e_2 into _f_i_l_e_1.  As in
  60.  
  61.  
  62.  
  63. Sprite v1.0               May 19, 1986                          1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DIFF                      User Commands                      DIFF
  71.  
  72.  
  73.  
  74.      _e_d, identical pairs where _n_1 = _n_2 or _n_3 = _n_4 are abbreviated
  75.      as a single number.
  76.  
  77.      Following each of these lines come all the lines that are
  78.      affected in the first file flagged by `<', then all the
  79.      lines that are affected in the second file flagged by `>'.
  80.  
  81.      Except for --bb,, --ww,, --ii or --tt which may be given with any of
  82.      the others, the following options are mutually exclusive:
  83.  
  84.      --ee       produces a script of _a, _c and _d commands for the
  85.               editor _e_d, which will recreate _f_i_l_e_2 from _f_i_l_e_1.
  86.               In connection with --ee, the following shell program
  87.               may help maintain multiple versions of a file.
  88.               Only an ancestral file ($1) and a chain of
  89.               version-to-version _e_d scripts ($2,$3,...) made by
  90.               _d_i_f_f need be on hand.  A `latest version' appears
  91.               on the standard output.
  92.  
  93.                       (shift; cat $*; echo '1,$p') | ed - $1
  94.  
  95.               Extra commands are added to the output when compar-
  96.               ing directories with --ee,, so that the result is a
  97.               _s_h(1) script for converting text files which are
  98.               common to the two directories from their state in
  99.               _d_i_r_1 to their state in _d_i_r_2.
  100.  
  101.      --ff       produces a script similar to that of --ee,, not useful
  102.               with _e_d, and in the opposite order.
  103.  
  104.      --nn       produces a script similar to that of --ee,, but in the
  105.               opposite order and with a count of changed lines on
  106.               each insert or delete command.  This is the form
  107.               used by _r_c_s_d_i_f_f(1).
  108.  
  109.      --cc       produces a diff with lines of context.  The default
  110.               is to present 3 lines of context and may be
  111.               changed, e.g to 10, by --cc1100.  With --cc the output
  112.               format is modified slightly: the output beginning
  113.               with identification of the files involved and their
  114.               creation dates and then each change is separated by
  115.               a line with a dozen *'s.  The lines removed from
  116.               _f_i_l_e_1 are marked with `- '; those added to _f_i_l_e_2
  117.               are marked `+ '.  Lines which are changed from one
  118.               file to the other are marked in both files with
  119.               with `! '.
  120.  
  121.               Changes which lie within <context> lines of each
  122.               other are grouped together on output.  (This is a
  123.               change from the previous ``diff -c'' but the
  124.               resulting output is usually much easier to inter-
  125.               pret.)
  126.  
  127.  
  128.  
  129. Sprite v1.0               May 19, 1986                          2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DIFF                      User Commands                      DIFF
  137.  
  138.  
  139.  
  140.      --hh       does a fast, half-hearted job.  It works only when
  141.               changed stretches are short and well separated, but
  142.               does work on files of unlimited length.
  143.  
  144.      --DDssttrriinngg causes _d_i_f_f to create a merged version of _f_i_l_e_1 and
  145.               _f_i_l_e_2 on the standard output, with C preprocessor
  146.               controls included so that a compilation of the
  147.               result without defining _s_t_r_i_n_g is equivalent to
  148.               compiling _f_i_l_e_1, while defining _s_t_r_i_n_g will yield
  149.               _f_i_l_e_2.
  150.  
  151.      --bb       causes trailing blanks (spaces and tabs) to be
  152.               ignored, and other strings of blanks to compare
  153.               equal.
  154.  
  155.      --ww       is similar to --bb but causes whitespace (blanks and
  156.               tabs) to be totally ignored.  E.g.,
  157.               ``if ( a == b )'' will compare equal to
  158.               ``if(a==b)''.
  159.  
  160.      --ii       ignores the case of letters.  E.g., ``A'' will com-
  161.               pare equal to ``a''.
  162.  
  163.      --tt       will expand tabs in output lines.  Normal or --cc
  164.               output adds character(s) to the front of each line
  165.               which may screw up the indentation of the original
  166.               source lines and make the output listing difficult
  167.               to interpret.  This option will preserve the origi-
  168.               nal source's indentation.
  169.  
  170. FFIILLEESS
  171.      /tmp/d?????
  172.      /usr/lib/diffh for --hh
  173.      /bin/diff for directory diffs
  174.      /bin/pr
  175.  
  176. SSEEEE AALLSSOO
  177.      cmp(1), cc(1), comm(1), ed(1), diff3(1)
  178.  
  179. DDIIAAGGNNOOSSTTIICCSS
  180.      Exit status is 0 for no differences, 1 for some, 2 for trou-
  181.      ble.
  182.  
  183. BBUUGGSS
  184.      Editing scripts produced under the --ee or --ff option are naive
  185.      about creating lines consisting of a single `..'.
  186.  
  187.      When comparing directories with the --bb,, --ww or --ii options
  188.      specified, _d_i_f_f first compares the files ala _c_m_p, and then
  189.      decides to run the _d_i_f_f algorithm if they are not equal.
  190.      This may cause a small amount of spurious output if the
  191.      files then turn out to be identical because the only
  192.  
  193.  
  194.  
  195. Sprite v1.0               May 19, 1986                          3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. DIFF                      User Commands                      DIFF
  203.  
  204.  
  205.  
  206.      differences are insignificant blank string or case differ-
  207.      ences.
  208.  
  209.      The GNU _d_i_f_f is not completely compatible with the BSD _d_i_f_f.
  210.      In particular, when recursively comparing directories, the
  211.      BSD _d_i_f_f names all common subdirectories, and the GNU _d_i_f_f
  212.      does not.  It has been argued that this is a feature of the
  213.      GNU _d_i_f_f.
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261. Sprite v1.0               May 19, 1986                          4
  262.  
  263.  
  264.  
  265.